package com.platform.qujia.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.qujia.enums.DeliveryStatus;
import com.platform.qujia.enums.NewUserStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @date 2024/1/17
 */
@Getter
@Setter
public class UserRecommendRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 油企id
     */
    @ApiModelProperty("油企id")
    private Long enterpriseId;

    /**
     * 油企名称
     */
    @ApiModelProperty("油企名称")
    private String enterpriseName;

    /**
     * 分享者user_id
     */
    @ApiModelProperty("分享者user_id")
    private Long originUserId;

    /**
     * 分享者昵称
     */
    @ApiModelProperty("分享者昵称")
    private String originUserNickName;

    /**
     * 分享者手机号
     */
    @ApiModelProperty("分享者手机号")
    @TableField(condition = SqlCondition.LIKE)
    private String originMobilePhone;

    /**
     * 拉新用户user_id
     */
    @ApiModelProperty("拉新用户user_id")
    private Long newUserId;

    /**
     * 拉新用户昵称
     */
    @ApiModelProperty("拉新用户昵称")
    private String newUserNickName;

    /**
     * 拉新用户手机号
     */
    @ApiModelProperty("拉新用户手机号")
    @TableField(condition = SqlCondition.LIKE)
    private String newMobilePhone;

    /**
     * 拉新状态 0-未激活，1-已激活
     */
    @ApiModelProperty("拉新状态 0-未激活，1-已激活")
    private NewUserStatus newUserStatus;

    /**
     * 优惠劵发放状态 0-未发放，1-已发放，2-发放失败，3-部分发放
     */
    @ApiModelProperty("优惠劵发放状态 0-未发放，1-已发放，2-发放失败，3-部分发放")
    private DeliveryStatus deliveryStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;

    /**
     * 0-未删除，1-删除
     */
    @TableLogic(value = "0",delval = "1")
    private Integer delFlag;
}
